package com.sunday.redis.study;//package com.sunday.leaf.study;
//
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.boot.autoconfigure.data.redis.RedisProperties;
//import org.springframework.boot.context.properties.ConfigurationProperties;
//
//import java.util.Map;
//
///**
// * https://www.cnblogs.com/secbro/p/12011522.html
// * '@ConditionalOnProperty的核心功能是通过属性name以及havingValue来实现的。
// * 首先看matchIfMissing属性，用来指定如果配置文件中未进行对应属性配置时的默认处理：默认情况下matchIfMissing为false，
// * 也就是说如果未进行属性配置，则自动配置不生效。如果matchIfMissing为true，则表示如果没有对应的属性配置，则自动配置默认生效。
// *
// * 通过@ConditionalOnProperty控制配置类是否生效,可以将配置与代码进行分离,实现了更好的控制配置.
// * @ConditionalOnProperty实现是通过havingValue与配置文件中的值对比,返回为true则配置类生效,反之失效.
// *
// * @ConfigurationProperties 和 @value 有着相同的功能,但是 @ConfigurationProperties的写法更为方便
// * @ConfigurationProperties 的 POJO类的命名比较严格,因为它必须和prefix的后缀名要一致, 不然值会绑定不上,
// * 特殊的后缀名是“driver-class-name”这种带横杠的情况,在POJO里面的命名规则是 下划线转驼峰 就可以绑定成功，所以就是 “driverClassName”
// */
//@ConditionalOnProperty("sunday.redis")
//@ConfigurationProperties("sunday.redis")
//public class MultiRedisProperties {
//
//    private Map<String, RedisProperties> redis;
//
//    public Map<String, RedisProperties> getRedis() {
//        return redis;
//    }
//
//    public void setRedis(Map<String, RedisProperties> redis) {
//        this.redis = redis;
//    }
//
//}
